/**
 * 
 */
package com.sc.softmgr.business.service;

import java.util.List;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.acc.softmgr.model.SoftmgrSystem;
import com.alibaba.fastjson.JSONObject;
import com.sc.softmgr.business.service.fallcallback.SoftmgrSystemFallBack;
import com.sc.softmgr.common.web.DataGridObject;

/**
 * 
 * @content
 * 
 * @date 2017年6月13日
 * 
 * @author OprCalf
 * 
 */
@FeignClient(value = "SOFTMGR-SYSTEM1", fallback = SoftmgrSystemFallBack.class)
public interface ISoftmgrSystemFeignService {

	@RequestMapping(value = "softSystem/searchSoftSystem", method = RequestMethod.POST)
	public DataGridObject<SoftmgrSystem> searchSoftSystem(@RequestParam("project_id") String project_id,
			SoftmgrSystem softmgrSystem, @RequestParam("page") Integer page, @RequestParam("rows") Integer rows);

	@RequestMapping(value = "softSystem/addSoftSystem", method = RequestMethod.POST)
	public JSONObject addSoftSystem(@RequestParam("project_id") String project_id, SoftmgrSystem softmgrSystem,
			@RequestParam("currentUserName") String currentUserName);

	@RequestMapping(value = "softSystem/editSoftSystem", method = RequestMethod.POST)
	public JSONObject editSoftSystem(@RequestParam("project_id") String project_id, SoftmgrSystem softmgrSystem,
			@RequestParam("currentUserName") String currentUserName);

	@RequestMapping(value = "softSystem/{id}/searchSoftSystem", method = RequestMethod.GET)
	public JSONObject searchSoftSystem(@PathVariable("id") Integer id);

	@RequestMapping(value = "softSystem/removeSoftSystem", method = RequestMethod.POST)
	public JSONObject removeSoftSystem(@RequestParam("id") Integer id);

	@RequestMapping(value = "softSystem/getSoftSystems/{projectId}", method = RequestMethod.GET)
	public List<SoftmgrSystem> getSoftSystems(@PathVariable("projectId") Integer projectId);
}
